The present invention relates to information processing systems, in particular, to pattern recognition and manipulation methods.
Many data transformation tasksxe2x80x94searching, conversion, extraction, and parsing, for example, are currently performed with tools that must be configured or programmed by someone with a relatively high degree of skill. These skills include:
the ability to program in languages such as C or C++,
the ability to use program tools such as Lex, Yacc, and AWK,
the ability to create xe2x80x9cregular expressionsxe2x80x9d.
The present invention is a tool that attempts to simplify the creation of data transformation task processors. The user can create a solution to a data transformation need by configuring tables and graphs, without having to learn the syntax of any language.
The present invention""s design is based on the idea that many data transformation tasks involve the same fundamental repetitive process:
recognition of a pattern in the input,
transition to another xe2x80x9cstatexe2x80x9d based on recognition of the next pattern in the input. Internally, the present invention is very general and abstract. It knows about sets and patterns, states and transitions, and views the input as nothing but a stream of values. It knows nothing about any specific file format, so it can be configured to work with almost any of them. The details of the transformation task are specified in the configuration. The design of the data used to configure the present invention lends itself to being presented to the user as:
a small number of relatively uncomplicated tables,
one or more relatively uncomplicated graphs.
The graph(s) can be presented to the user visually as a collection of nodes and links (arrows) with textual annotations. The user chooses the names, i.e. xe2x80x9ctagsxe2x80x9d, of virtually all of the configurable items, including:
sets,
patterns,
the nodes in the graph.
The annotated graph is thereby able to provide the user with a xe2x80x9cpicturexe2x80x9d of the processing to be performed in terms of the user""s choosing.
This invention is applicable to document systems, databases, word processors, and other data and software sets.